home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / nfss-addons / psfonts.sty < prev    next >
Text File  |  1992-01-13  |  11KB  |  320 lines

  1. %
  2. % Definition of the PostScript fonts that are known to Rokicki's dvips
  3. % Written by Dick van Soest
  4. %
  5. %%
  6. %% The format of a font/shape definition is as follows:
  7. %%
  8. %% \new@fontshape{family}{series}{shape}%
  9. %%       {<size_1>external_font_1%
  10. %%        <size_2>external_font_2%
  11. %%        ...
  12. %%        <size_n>external_font_n}{}
  13. %%
  14. %% (Don't forget the final {} !)
  15. %%
  16. %% family    : Name of font family like cmr etc.
  17. %% series    : Weight and width of the font in 1 to 4 letter
  18. %%             abbreviations. A table is given in the tugboat article
  19. %%             distributed together with this file.
  20. %% shape     : Either n (normal), it (italic), sc (small caps), sl
  21. %%             (slanted) or u (upright italic).
  22. %% <size_i>  : The size in printer points. Standard LaTeX supports 5,
  23. %%             6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 25 corresponding to
  24. %%             \tiny, \scriptsize and so on.  The angle brackets are
  25. %%             part of the syntax!
  26. %%
  27. %% external_font_i : The name of the external font in your font
  28. %%             library. If the font/shape is not available in a
  29. %%             certain size you may use the name of a replacement
  30. %%             font.  E.g. one can substitute cmr5 for cmti.. which is
  31. %%             only available in size 7 and higher.  If you put a `1'
  32. %%             in front of the name of the font a warning message will
  33. %%             be produced (saying that the font has been substituted
  34. %%             for the real one) when you use it for the first time.
  35. %%             Below you can find examples of this mechanism.
  36. %%
  37. %% For font/shape combinations which aren't available at all like
  38. %% computer modern sans serif small caps a suitable default will be
  39. %% used automatically unless you specify a substitution yourself with
  40. %% the \subst@fontshape command.
  41. %%
  42. %% It syntax is as follows:
  43. %%
  44. %% \subst@fontshape{family}{series}{shape}%
  45. %%                 {subst_family}{subst_series}{subst_shape}
  46. %%
  47. %% This might be necessary if the automatically selected default does
  48. %% not match your needs. For example: the font shape choosen instead
  49. %% of `computer modern sans serif small caps' would be `computer
  50. %% modern sans serif normal'. With a \subst@fontshape command you can
  51. %% change this, for example, to `computer modern roman small caps' as
  52. %% we did below. (If you don't like this remove this line in your
  53. %% *copy* of this file.)
  54. %%
  55. %% Finally, for every family there is an \extra@def macro.  It defines
  56. %% special action to be done at load time for every font of the family.
  57. %% In most cases you can simply write
  58. %%
  59. %% \extra@def{family}{}{}
  60. %%
  61. %% In this file it is used to suppress hyphenation for typewriter
  62. %% fonts (see \extra@def{cmtt}... below) and to set the \skewchar
  63. %% for math fonts (see \extra@def{cmm}... and \extra@def{cmsy}...).
  64. %%
  65. %------------------------------------------------------------------------
  66. % Possible series:
  67. %
  68. % Weight class
  69. %  ul ultra light
  70. %  el extra light
  71. %  l  light
  72. %  sl semi light
  73. %  m  medium (normal)
  74. %  sb semi bold
  75. %  b  bold
  76. %  eb extra bold
  77. %  ub ultra bold
  78. %
  79. % Width class
  80. %  uc ultra condensed (50%)
  81. %  ec extra condensed (62.5%)
  82. %  c  condensed       (75%)
  83. %  sc semi condensed  (87.5%)
  84. %  m  medium (normal) (100%)
  85. %  sx semi expanded   (112.5%)
  86. %  x  expanded        (125%)
  87. %  ex extra expanded  (150%)
  88. %  ux ultra expanded  (200%)
  89. %
  90. % To combine the abbreviations in the \series command, weight is used
  91. % first and any instance of medium is dropped except when weight and
  92. % width are both medium. In this case one single m is used. So bold
  93. % expanded would be bx whereas medium expanded would be x.
  94. %
  95. % ------------------------------------------------------------------------
  96. %
  97. % Possible shapes:
  98. % n  normal
  99. % it italic
  100. % sc small caps
  101. % sl slanted
  102. % u  upright italic
  103. %
  104. %------------------------------------------------------------------------
  105. % Definition of a macro to make things easier to define - Dick
  106. %  #1 is the name of the family
  107. %  #2 is the name of the series
  108. %  #3 is the name of the shape
  109. %  #4 is the name of the TFM file
  110. \@ifundefined{new@fontshape}
  111.  {\errmessage{The style option `psfonts' does not make sense if you
  112.               do not use the new font selection scheme.}
  113.   \endinput}
  114.   {}
  115. \@ifundefined{@psfontsloaded}{}{\endinput}
  116.  
  117. \def\postscriptdefinefont#1#2#3#4{%
  118.  \new@fontshape{#1}{#2}{#3}{%
  119.    <5>#4 at5pt%
  120.    <6>#4 at6pt%
  121.    <7>#4 at7pt%
  122.    <8>#4 at8pt%
  123.    <9>#4 at9pt%
  124.    <10>#4 at10pt%
  125.    <11>#4 at10.95pt%
  126.    <12>#4 at12pt%
  127.    <14>#4 at14.4pt%
  128.    <17>#4 at17.28pt%
  129.    <20>#4 at20.74pt%
  130.    <25>#4 at24.88pt}{}}
  131. %
  132. %
  133. %% ********************************************************************
  134. %%
  135. %% AvantGarde
  136. %%
  137. %% ********************************************************************
  138. %% Series: medium Shape: normal
  139. \postscriptdefinefont{pag}{m}{n}{pagk}
  140. %% Series: medium Shape: small caps
  141. \postscriptdefinefont{pag}{m}{sc}{pagkc}
  142. %% Series: medium Shape: oblique
  143. \postscriptdefinefont{pag}{m}{sl}{pagko}
  144. %% Series: bold Shape: normal
  145. \postscriptdefinefont{pag}{b}{n}{pagd}
  146. %% Series: bold Shape: oblique
  147. \postscriptdefinefont{pag}{b}{sl}{pagdo}
  148. \extra@def{pag}{}{}
  149. \subst@fontshape{pag}{m}{it}{pag}{m}{sl}
  150. \subst@fontshape{pag}{b}{it}{pag}{b}{sl}
  151. %
  152. %% ********************************************************************
  153. %%
  154. %% Bookman
  155. %%
  156. %% ********************************************************************
  157. %% Series: bold Shape: normal
  158. \postscriptdefinefont{pbk}{b}{n}{pbkd}
  159. %% Series: bold Shape: italic
  160. \postscriptdefinefont{pbk}{b}{it}{pbkdi}
  161. %% Series: medium Shape: normal
  162. \postscriptdefinefont{pbk}{m}{n}{pbkl}
  163. %% Series: medium Shape: small caps
  164. \postscriptdefinefont{pbk}{m}{sc}{pbklc}
  165. %% Series: medium Shape: italic
  166. \postscriptdefinefont{pbk}{m}{it}{pbkli}
  167. \extra@def{pbk}{}{}
  168. \subst@fontshape{pbk}{m}{sl}{pbk}{m}{it}
  169. \subst@fontshape{pbk}{b}{sl}{pbk}{b}{it}
  170. %
  171. %% ********************************************************************
  172. %%
  173. %% Courier
  174. %%
  175. %% ********************************************************************
  176. %% Series: bold Shape: normal
  177. \postscriptdefinefont{pcr}{b}{n}{pcrb}
  178. %% Series: bold Shape: oblique
  179. \postscriptdefinefont{pcr}{b}{sl}{pcrbo}
  180. %% Series: medium Shape: normal
  181. \postscriptdefinefont{pcr}{m}{n}{pcrr}
  182. %% Series: medium Shape: oblique
  183. \postscriptdefinefont{pcr}{m}{sl}{pcrro}
  184. \extra@def{pcr}{}{}
  185. \subst@fontshape{pcr}{m}{it}{pcr}{m}{sl}
  186. \subst@fontshape{pcr}{b}{it}{pcr}{b}{sl}
  187. \subst@fontshape{pcr}{m}{sc}{pcr}{m}{sc}
  188. %
  189. %% ********************************************************************
  190. %%
  191. %% Helvetica
  192. %%
  193. %% ********************************************************************
  194. %% Series: bold Shape: normal
  195. \postscriptdefinefont{phv}{b}{n}{phvb}
  196. %% Series: bold Shape: oblique
  197. \postscriptdefinefont{phv}{b}{sl}{phvbo}
  198. %% Series: bold condensed Shape: normal
  199. \postscriptdefinefont{phv}{bc}{n}{phvbrn}
  200. %% Series: bold condensed Shape: oblique
  201. \postscriptdefinefont{phv}{bc}{sl}{phvbon}
  202. %% Series: condensed Shape: oblique
  203. \postscriptdefinefont{phv}{c}{sl}{phvron}
  204. %% Series: condensed Shape: normal
  205. \postscriptdefinefont{phv}{c}{n}{phvrrn}
  206. %% Series: medium Shape: oblique
  207. \postscriptdefinefont{phv}{m}{sl}{phvro}
  208. %% Series: medium Shape: normal
  209. \postscriptdefinefont{phv}{m}{n}{phvr}
  210. %% Series: medium Shape: small caps
  211. \postscriptdefinefont{phv}{m}{sc}{phvrc}
  212. \extra@def{phv}{}{}
  213. \subst@fontshape{phv}{m}{it}{phv}{m}{sl}
  214. \subst@fontshape{phv}{b}{it}{phv}{b}{sl}
  215. \subst@fontshape{phv}{bc}{it}{phv}{bc}{sl}
  216. \subst@fontshape{phv}{c}{it}{phv}{c}{sl}
  217. %
  218. %% ********************************************************************
  219. %%
  220. %% NewCenturySchoolbook
  221. %%
  222. %% ********************************************************************
  223. % Series: bold Shape: normal
  224. \postscriptdefinefont{pncs}{b}{n}{pncb}
  225. % Series: bold Shape: italic
  226. \postscriptdefinefont{pncs}{b}{it}{pncbi}
  227. % Series: medium Shape: italic
  228. \postscriptdefinefont{pncs}{m}{it}{pncri}
  229. %% Series: medium Shape: normal
  230. \postscriptdefinefont{pncs}{m}{n}{pncr}
  231. %% Series: medium Shape: small caps
  232. \postscriptdefinefont{pncs}{m}{sc}{pncrc}
  233. \extra@def{pncs}{}{}
  234. \subst@fontshape{pncs}{m}{sl}{pncs}{m}{it}
  235. \subst@fontshape{pncs}{b}{sl}{pncs}{b}{it}
  236. %
  237. %% ********************************************************************
  238. %%
  239. %% Palatino
  240. %%
  241. %% ********************************************************************
  242. %% Series: bold Shape: normal
  243. \postscriptdefinefont{ppl}{b}{n}{pplb}
  244. %% Series: bold Shape: italic
  245. \postscriptdefinefont{ppl}{b}{it}{pplbi}
  246. %% Series: bold Shape: unslanted
  247. \postscriptdefinefont{ppl}{b}{u}{pplbu}
  248. %% Series: condensed Shape: normal
  249. \postscriptdefinefont{ppl}{c}{n}{pplrrn}
  250. %% Series: expanded Shape: normal
  251. \postscriptdefinefont{ppl}{x}{n}{pplrre}
  252. %% Series: medium Shape: italic
  253. \postscriptdefinefont{ppl}{m}{it}{pplri}
  254. %% Series: medium Shape: slanted
  255. \postscriptdefinefont{ppl}{m}{sl}{pplro}
  256. %% Series: medium Shape: normal
  257. \postscriptdefinefont{ppl}{m}{n}{pplr}
  258. %% Series: medium Shape: small caps
  259. \postscriptdefinefont{ppl}{m}{sc}{pplrc}
  260. %% Series: medium Shape: unslanted
  261. \postscriptdefinefont{ppl}{m}{u}{pplru}
  262. \extra@def{ppl}{}{}
  263. \subst@fontshape{ppl}{b}{sl}{ppl}{b}{it}
  264. %
  265. %% ********************************************************************
  266. %%
  267. %% Symbol
  268. %%
  269. %% ********************************************************************
  270. %% Family: symbol
  271. %% Series: medium Shape: normal
  272. \postscriptdefinefont{psy}{m}{n}{psyr}
  273. %% Series: medium Shape: slanted
  274. \postscriptdefinefont{psy}{m}{sl}{psyro}
  275. \extra@def{psy}{}{}
  276. %
  277. %% ********************************************************************
  278. %%
  279. %% Times
  280. %%
  281. %% ********************************************************************
  282. %% Series: bold Shape: normal
  283. \postscriptdefinefont{ptm}{b}{n}{ptmb}
  284. %% Series: bold Shape: italic
  285. \postscriptdefinefont{ptm}{b}{it}{ptmbi}
  286. %% Series: condensed Shape: normal
  287. \postscriptdefinefont{ptm}{c}{n}{ptmrrn}
  288. %% Series: expanded Shape: normal
  289. \postscriptdefinefont{ptm}{x}{n}{ptmrre}
  290. %% Series: medium Shape: italic
  291. \postscriptdefinefont{ptm}{m}{it}{ptmri}
  292. %% Series: medium Shape: slanted
  293. \postscriptdefinefont{ptm}{m}{sl}{ptmro}
  294. %% Series: medium Shape: normal
  295. \postscriptdefinefont{ptm}{m}{n}{ptmr}
  296. %% Series: medium Shape: smallcaps
  297. \postscriptdefinefont{ptm}{m}{sc}{ptmrc}
  298. \extra@def{ptm}{}{}
  299. \subst@fontshape{ptm}{b}{sl}{ptm}{b}{it}
  300. %
  301. %% ********************************************************************
  302. %%
  303. %% Zapf Chancery
  304. %%
  305. %% ********************************************************************
  306. %% Series: medium Shape: it
  307. \postscriptdefinefont{pzc}{m}{it}{pzcmi}
  308. \extra@def{pzc}{}{}
  309. %
  310. %% ********************************************************************
  311. %%
  312. %% Zapf Dingbats
  313. %%
  314. %% ********************************************************************
  315. %% Series: medium Shape: normal
  316. \postscriptdefinefont{pzd}{m}{n}{pzdr}
  317. \extra@def{pzd}{}{}
  318. %
  319. \def\@psfontsloaded{}
  320.